The present invention relates generally to mobile robot systems and, more particularly, relates to a system and method for allocating mapping, localization, planning, control and task performance functions in an autonomous multi-platform robot environment.
Mobile robots have been designed, developed and deployed to handle a variety of tasks such as cleaning and security. Most mobile robots are non-autonomous; that is, they are unable to autonomously navigate. The economic benefits provided by non-autonomous robots are limited by the inflexible behavior of the robots and their extensive installation costs. Skilled technicians often must be hired and paid to preprogram the robots for specific routes and tasks. It may be necessary to install objects in the environment to guide the robots, such as tracks, buried signal emitting wires, markers or sensors. Further modifications to the environment may also be necessary to minimize installation and operational problems.
Some mobile non-autonomous robots can detect obstacles blocking their paths, and can stop or deviate slightly from their paths to avoid such obstacles. If the environment is modified significantly, however, such as by moving a large item of furniture, conventional non-autonomous robots do not properly react. Part or all of the installation process often must be repeated. Given this limitation, non-autonomous robots are usually deployed only on stable and high value routes. Though some non-autonomous robots rely on random motion to perform their tasks, such as pool cleaning robots, only a limited number of applications are amenable to this approach.
Fully autonomous mobile robots have begun to emerge from research laboratories during the past few years. Autonomous robots are able to navigate through their environment by sensing and reacting to their surroundings and environmental conditions.
Autonomous robot navigation involves four primary tasks: mapping, localization, planning and control. These closely related concepts are analogous to asking the questions xe2x80x9cWhere am I?xe2x80x9d (mapping and localization), followed by xe2x80x9cWhere do I want to be?xe2x80x9d or xe2x80x9cWhat do I want to do?xe2x80x9d (planning), and finally, xe2x80x9cHow do I get there?xe2x80x9d or xe2x80x9cHow do I do that?xe2x80x9d (control).
Once mapping is complete, the robot""s current position, orientation and rate of change within the map must be determined. This process is referred to as localization. Autonomous robots that rely on 2D mapping and localization are often not able to navigate with adequate reliability due to the relative simplicity of the map. Often, the robots become lost, stuck or fall. Use of dynamic 3D mapping and localization, by contrast, permits navigation that is more reliable but involves complex calculations requiring a large amount of computational overhead. 3D maps typically have millions of cells, making straightforward operations such as landmark extraction, localization and planning computationally intensive. The resulting computational delays limit the speed of robot movement and task performance.
Once mapping and localization are accomplished, task planning and performance must be undertaken. Some localization will still be required during task performance. With one robot, attempting to localize while performing tasks leads to unacceptable delays. If multiple robots are used, the tradeoffs described above are often still present, and must now be dealt with multiple times over.
In view of the above, an autonomous, multi-robot system having fast, accurate and cost effective mapping and localization, as well as effective planning and allocation of tasks is needed.
The present invention is directed toward a system and method for allocating mapping, localization, planning, control and task performance functions in a multi-robot environment. The system comprises at least one navigator robot platform and one or more functional robot platforms that perform predetermined tasks.
For each task, a navigator and a given functional robot work in tandem.
Mapping, localization, planning, and control functions are assigned to the at least one navigator robot, and functional tasks are assigned to the one or more functional robots. In one implementation, the system is used for cleaning the interior of a house or office. In this implementation, the functional robots perform the tasks of vacuuming, sweeping, mopping, cleaning bathroom fixtures, etc., while the navigator robot navigates, maneuvers and monitors the functional robots.
In one embodiment, the navigator robot performs all or substantially all calculations for mapping, localization, planning and control for both itself and the functional robots. Accordingly, the navigator is equipped with sensors and sensor processing hardware required for these tasks. The functional robots in this embodiment, conversely, do not perform any or only a few of the calculations for localization, planning, or control and, therefore, are not equipped with sensors or hardware employed for these purposes.
Accordingly, in one embodiment, a system of autonomous robots is provided comprising: at least one first mobile robot configured to performed one or more repetitive tasks within an area; and at least one second robot configured to direct overall movement of the at least one first robot in the area.
In another embodiment, a method of performing a repetitive task within an area is provided comprising the steps of: performing the repetitive task with at least one first mobile robot; and directing overall movement at the at least one first robot in the area with at least one second robot.
In yet another embodiment of the present invention, a system of autonomous, mobile robots operating within an environment is provided. The system comprises one or more functional mobile robots that are responsible for performing functional tasks. The system further comprises one or more navigator mobile robots that localize themselves and the functional robot(s) within the environment, plan the tasks to be performed by the functional robot(s), and control the functional robot(s) during task performance. In one embodiment, when a functional robot is moving, the navigator robot(s) controlling it remain stationary.
In yet another embodiment of the present invention, a method for autonomous, multi-robot operation is provided. The method comprises the steps of:
(a) providing at least one navigator robot and at least one functional robot;
(b) with the at least one navigator robot, creating a map of the environment;
(c) with the at least one navigator robot, localizing the at least one navigator robot and the at least one functional robot within the map;
(d) with the at least one navigator robot, planning tasks to be performed by the at least one functional robot;
(e) with the at least one functional robot, performing the tasks planned by the at least one navigator robot; and
(f) with the at least one navigator robot, controlling and tracking the at least one functional robot during task performance.
The present invention also provides a method of implementing an autonomous mobile platform system. The method comprises the following steps:
providing multiple mobile platforms;
allocating mapping, localization, planning and control functions to a first set of the mobile platforms;
allocating functional task performance functions to a second set of the mobile platforms;
mapping the environment, localizing substantially all platforms within the environment and planning task performance with the first set of mobile platforms;
performing the tasks with the second set of mobile platforms; and
controlling and tracking the task performance by the second set of platforms with the first set of platforms.
Further features and advantages of this invention as well as the structure of operation of various embodiments are described in detail below with reference to the accompanying drawings.